package com.liqi.device.service;

import com.liqi.device.domain.DvDeviceModule;

import java.util.List;

/**
 * 设备-模块关联Service接口
 *
 * @author zhongping
 * @date 2022-02-25
 */
public interface IDvDeviceModuleService
{
    /**
     * 查询设备-模块关联
     *
     * @param id 设备-模块关联主键
     * @return 设备-模块关联
     */
    public DvDeviceModule selectDvDeviceModuleById(Long id);

    /**
     * 通过系统自编型号编码 查询设备-模块关联列表
     * @param deviceCode 系统自编型号编码
     * @return
     */
    public List<DvDeviceModule> selectDvDeviceModuleListByDeviceCode(String deviceCode);

    /**
     * 查询设备-模块关联列表
     *
     * @param dvDeviceModule 设备-模块关联
     * @return 设备-模块关联集合
     */
    public List<DvDeviceModule> selectDvDeviceModuleList(DvDeviceModule dvDeviceModule);

    /**
     * 新增设备-模块关联
     *
     * @param dvDeviceModule 设备-模块关联
     * @return 结果
     */
    public int insertDvDeviceModule(DvDeviceModule dvDeviceModule);

    /**
     * 修改设备-模块关联
     *
     * @param dvDeviceModule 设备-模块关联
     * @return 结果
     */
    public int updateDvDeviceModule(DvDeviceModule dvDeviceModule);

    public DvDeviceModule selectDvDeviceModuleByModuleCodeAndDeviceCode(String moduleCode,String deviceCode);

    /**
     * 批量删除设备-模块关联
     *
     * @param ids 需要删除的设备-模块关联主键集合
     * @return 结果
     */
    public int deleteDvDeviceModuleByIds(Long[] ids);

    /**
     * 删除设备-模块关联信息
     *
     * @param id 设备-模块关联主键
     * @return 结果
     */
    public int deleteDvDeviceModuleById(Long id);

    /**
     * 查询设备-模块关联(根据moduleCode)
     *
     * @param moduleCode 模块code
     * @return 设备-模块关联
     */
    public List<DvDeviceModule> selectDvDeviceModuleByModuleCode(String moduleCode);

}
